When machining is to be performed by using a processing machine such as a machine tool or a laser processing machine, it is controlled such that a position of a tool with respect to a workpiece being a machining object or a position of a machining head mounted with a laser nozzle moves along a command path. This control is referred to as “trajectory control”, and is executed by executing servo control so that actual positions on respective movable axes of a machine generally follow command positions on the respective movable axes obtained from the command path.
The number of axes of the movable axes to be controlled simultaneously during the trajectory control is different depending on the application of the processing machine; however, it is generally from two axes to five axes. Further, the number of axes of the movable axes to be controlled simultaneously is not limited thereto, and may be six or more axes. As an example of two axes, a sheet-metal laser processing machine can be mentioned. This is for constructing a predetermined shape of a workpiece, by two-dimensionally sweeping a machining head mounted with a laser nozzle on a surface of a plate-like material by using two straight axes, and irradiating laser beams at a timing specified by a machining program.
As a representative example of three axes, a vertical machining center can be mentioned. This is for constructing a predetermined three-dimensional shape such as a mold or parts, by vertically grasping a machining head mounted with a tool such as an end mill to move the machining head in a three-dimensional space by using three straight axes, while rotating the machining head by a main spindle motor. Further, a five-axis processing machine is such that two rotary axes are added to the three-axis vertical machining center, which can control the posture of the tool in addition to a position of the tool in the three-dimensional space.
In the processing machine having any number of axes, a numerical control device reads a machining program, and interpolates between respective points commanded by the machining program, to generate a command position on the respective movable axes for each control cycle. Servo control is then executed by a servo control device respectively provided on each movable axis so that an actual position on each movable axis follows a command position on each movable axis. In the following descriptions, the numerical control device and the servo control device of each movable axis are collectively referred to as “trajectory control device”.
As an issue on executing the trajectory control, there is a point that the actual path deviates from the commanded path due to a response delay of a servo control system of each movable axis. Generally, control is executed for each movable axis of the machine. Therefore, a response of the servo system of each movable axis moves with delay than the command position due to an error caused by the response delay or the like of the control system of each movable axis. If a moving direction of the command path does not change, for example, in the case of a straight line, even if each axis moves with delay, the trajectory of the response of the servo control system does not deviate from the command path. That is, although an error appears in a tangent direction of the command path, an error in a normal direction of the command path does not appear. On the other hand, if the moving direction of the command path changes, for example, in the case of a curve or a corner shape, an error appears in the normal direction of the command path due to the delay of the servo control system of each axis.
In the following descriptions, among errors of the response position in the servo control system with respect to the command position, a component in the tangent direction of the command path is referred to as “following error”, and a component in the normal direction of the command path is referred to as “trajectory error” Generally, if there is a trajectory error, the machining shape does not match an original shape, which is not preferable.
To suppress occurrence of such trajectory errors, in Patent Literature 1, an optimum feed rate in order to suppress occurrence of errors to a certain value or less is calculated based on a machining shape recognized by looking ahead the program. An error amount at the time of machining at this rate is calculated, and the command position is corrected by adding a correction vector that negates the error to the original command position. The direction of the correction vector is vertical to the moving direction (a normal direction), and a length of the correction vector has a value obtained by multiplying normal direction acceleration (a value obtained by dividing a square of speed by a radius of curvature) by a predetermined coefficient.
In Patent Literature 2, in control of a finger position of a robot, a finger position at a time ahead of a predetermined sampling time is estimated, and the command position is corrected by a portion of a normal vector drawn from the estimated finger position onto a target trajectory. Accordingly, the finger position is controlled to move on the target trajectory, while allowing a time delay.